with Ada.Finalization; use Ada.Finalization;
package Chaines.Controlees is

   type Chaine_Controlee is new Controlled with private;

   procedure Initialize (C : in out Chaine_Controlee) ;
   procedure Adjust     (C : in out Chaine_Controlee) ;
   procedure Finalize   (C : in out Chaine_Controlee) ;
   function Controler(S: String) return Chaine_Controlee;
   function Dechainer(C: Chaine_Controlee) return String;

private
   Trace : Boolean := True;
   type Ptr_String is access String;
   type Chaine_Controlee is new Controlled with record
      Value : Ptr_String;
   end record;

end Chaines.Controlees;
